package join_exam.join; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @WebServlet("/login/*") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; MemberDAO memberDAO; @Override public void init() throws ServletException { // MemberDAO 생성 - Model 제어하기 위한 객체 생성 memberDAO = new MemberDAO(); // 해당 서블릿이 생성되면 생성됨과 동시에 DAO 생성됨. } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nextPage = null; String action = request.getPathInfo(); // URL 요청명을 String 문자열로 반환 or null로 반환 System.out.println("action : " + action); // doGet(request, response); if (action == null || action.equals("/loginAction.do")) { request.setCharacterEncoding("UTF-8"); // 로그인 여부 확인 String userID = null; HttpSession session = request.getSession(); if (session.getAttribute("userID") != null) { userID = (String) session.getAttribute("userID"); } // 이미 로그인된 경우 if (userID != null) { PrintWriter out = response.getWriter(); out.println(""); nextPage = "/main.jsp"; // return; } // 로그인 처리 String id = request.getParameter("id"); String pwd = request.getParameter("pwd"); int result = memberDAO.login(id, pwd); if (result == 1) { // 로그인 성공 session.setAttribute("userID", id); nextPage = "/main.jsp"; } else if (result == 0) { // 비밀번호 오류 PrintWriter out = response.getWriter(); out.println(""); } else if (result == -2) { // 데이터베이스 오류 PrintWriter out = response.getWriter(); out.println(""); } } else if () { } if (nextPage != null) { response.sendRedirect(request.getContextPath() + nextPage); } } }